package samplegameplugin;

import gamefw.gameplugin.AbstractGameLogic;
import gamefw.gameplugin.AbstractPlayer;
import gamefw.gameplugin.GameBoard;
import gamefw.gameplugin.GameEntity;
import gamefw.gameplugin.IGameAbstractFactory;
import gamefw.gameplugin.IGameResourceProperties;

public class SampleGameAbstractFactory implements IGameAbstractFactory {

	@Override
	public IGameResourceProperties createGameResourceProperties() {
		return new SampleGameResourceProperties();
	}

	@Override
	public AbstractGameLogic createGameLogic() {
		return new SampleGameLogic();
	}

	@Override
	public GameBoard createGameBoard() {
		return new SampleGameBoard();
	}

	@Override
	public AbstractPlayer createPlayer(boolean isHuman) {
		if (isHuman) {
			return new SampleHumanPlayer();
		} else {
			return new SampleComputerPlayer();
		}
	}

	@Override
	public GameEntity[] createGameEntities(String[] entityNames) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public GameEntity createGameEntity(String entityName) {
		return new SampleGameEntity(entityName);
	}

}
